package com.turing.post.cardmanagement.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 卡面图样接口
 * 
 * @author zxp
 * @Mar 11, 2013
 */
@Remote
@Local
public interface CardFaceDao {

	/**
	 * 根据主键查询
	 * 
	 * @param cardFaceId
	 * @return
	 */
	public CardFace getCardFaceByCardFaceId(BigInteger cardFaceId);

	/**
	 * 下拉
	 * 
	 * @param input
	 * @return
	 */
	public List<CardFace> getCardFaceDropDownList(PCPSWebInput input);

	/**
	 * 分页查询列表
	 * 
	 * @param input
	 * @param cardFaceName
	 * @param page
	 * @return
	 */
	public List<CardFace> getCardFaceListByCondition(PCPSWebInput input,
			String cardFaceName, Integer page);

	/**
	 * 取某发卡商下的卡面图样列表
	 * 
	 * @param issueCompanyNo
	 * @return
	 */
	public List<CardFace> getAllCardFaceByIssueCompanyNo(String issueCompanyNo);

	/**
	 * 总记录数
	 * 
	 * @param input
	 * @param cardFaceName
	 * @return
	 */
	public BigInteger getCardFaceTotalByCondition(PCPSWebInput input,
			String cardFaceName);

	public void insert(CardFace cardFace) throws PCPSApplicationException;

	public void update(CardFace cardFace) throws PCPSApplicationException;

	public void delete(BigInteger cardFaceId) throws PCPSApplicationException;

	/**
	 * 根据卡序号获取卡面名称信息
	 * 
	 * @param input
	 * @param cardSeqNo
	 * @return
	 */
	public CardFace getCardFaceByCardSeqNo(PCPSWebInput input, String cardSeqNo);
}